package com.wicket.okrcomponent.biz.service.dto.req;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddMqttMemberChannelReqDto
 * @使用场景
 */
@Data
public class AddMqttMemberChannelReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 成员通道关系ID
   */
  @NotNull(message = "成员通道关系ID不能为空")
  @ApiModelProperty("成员通道关系ID")
  private String memberChannelRelationId;

  /**
   * 通道ID
   */
  @NotNull(message = "通道ID不能为空")
  @ApiModelProperty("通道ID")
  private String channelId;

  /**
   * 通道类型编码 MESSAGE_ASSISTANT:消息助手 PERSONAL_SESSION:个人会话 GROUP_SESSION:群会话 THIRD_QA_SESSION:独立第三方问答会话 CUSTOMER_SERVICE_SESSION:客服会话 CONTENT_COMMENT_SESSION:内容评论会话 CONTENT_ORIGIN_QA_SESSION:内容发起问答会话
   */
  @NotNull(message = "通道类型编码不能为空")
  @ApiModelProperty("通道类型编码")
  private String channelTypeCode;

  /**
   * 最新一条消息内容
   */
  @ApiModelProperty("最新一条消息内容")
  private String newMessage;

  /**
   * 消息数
   */
  @NotNull(message = "消息数不能为空")
  @ApiModelProperty("消息数")
  private Long messageNum;

  /**
   * 是否静音 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否静音不能为空")
  @ApiModelProperty("是否静音")
  private String isSilence;

  /**
   * 是否置顶 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否置顶不能为空")
  @ApiModelProperty("是否置顶")
  private String isTop;

  /**
   * 消息提示类型 RED_POINT_TYPE:红点型 NUMBER_TYPE:数量型 MIX_TYPE:混合型
   */
  @NotNull(message = "消息提示类型不能为空")
  @ApiModelProperty("消息提示类型")
  private String messagePromptType;

  /**
   * 是否有人at我 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否有人at我不能为空")
  @ApiModelProperty("是否有人at我")
  private String isAtMe;

  /**
   * 归属身份人员ID
   */
  @NotNull(message = "归属身份人员ID不能为空")
  @ApiModelProperty("归属身份人员ID")
  private String originalRoleMemberId;

  /**
   * 归属个人账号ID
   */
  @NotNull(message = "归属个人账号ID不能为空")
  @ApiModelProperty("归属个人账号ID")
  private String userId;

  /**
   * 对方是员工或个人ID
   */
  @NotNull(message = "对方是员工或个人ID不能为空")
  @ApiModelProperty("对方是员工或个人ID")
  private String counterpartEntityId;

  /**
   * 对方缩略图地址
   */
  @NotNull(message = "对方缩略图地址不能为空")
  @ApiModelProperty("对方缩略图地址")
  private String counterpartChannelLogo;

  /**
   * 对方名称
   */
  @NotNull(message = "对方名称不能为空")
  @ApiModelProperty("对方名称")
  private String counterpartChannelName;

  /**
   * 对方虚拟形象ID
   */
  @ApiModelProperty("对方虚拟形象ID")
  private String virtualImageId;

  /**
   * 虚拟形象图片
   */
  @NotNull(message = "虚拟形象图片不能为空")
  @ApiModelProperty("虚拟形象图片")
  private String virtualImage;

  /**
   * 虚拟形象名称
   */
  @NotNull(message = "虚拟形象名称不能为空")
  @ApiModelProperty("虚拟形象名称")
  private String virtualImageName;

  /**
   * 操作时间
   */
  @NotNull(message = "操作时间不能为空")
  @ApiModelProperty("操作时间")
  private Date operateTime;
/**
     * 对方虚拟形象标识 
     */
    @ApiModelProperty("对方虚拟形象标识")
    private String	 virtualImageCode;

}
